package com.yami.shop.bean.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 红包
 *
 * @author 刘聪
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "tz_red_packet_info")
@Schema(description = "红包")
public class RedPacketInfo {

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 红包总金额
     */
    @Schema(description = "红包总金额")
    @TableField(value = "total_amount")
    private Double totalAmount;

    /**
     * 红包总个数
     */
    @Schema(description = "红包总个数")
    @TableField(value = "total_packet")
    private Integer totalPacket;

    /**
     * 剩余红包金额
     */
    @Schema(description = "剩余红包金额")
    @TableField(value = "remaining_amount")
    private Double remainingAmount;

    /**
     * 剩余红包个数
     */
    @Schema(description = "剩余红包个数")
    @TableField(value = "remaining_packet")
    private Integer remainingPacket;

    /**
     * 新建红包用户的用户id
     */
    @Schema(description = "新建红包用户的用户id")
    @TableField(value = "user_id")
    private String userId;
    /**
     * 红包类型 0:人民币红包 1:DAW红包 2:Gas红包
     */
    @Schema(description = "红包类型 0:人民币红包 1:DAW红包 2:Gas红包")
    @TableField(value = "type")
    private String type;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    @TableField(value = "update_time")
    private LocalDateTime updateTime;

    /**
     * 红包类型为daw红包时指定daw个数
     */
    @Schema(description = "红包类型为daw红包时指定daw个数")
    @TableField(value = "daw_num")
    private Integer dawNum;

    /**
     * 红包标题
     */
    @TableField(value = "title")
    @Schema(description = "红包标题")
    private String title;

    /**
     * 来源CODE
     */
    @TableField(value = "channel_code")
    @Schema(description = "来源CODE")
    private String channelCode;

    @TableField(value = "denom_id")
    @Schema(description = "Dtc二级ID")
    private String denomId;

    @Schema(description = "链地址")
    private String chainCode;

    @Schema(description = "链类型(1:DTC2:外部导入)")
    private String chainType;
    /**
     * 支付状态
     */
    @TableField(value = "is_payed")
    @Schema(description = "支付状态是否支付1已支付0未支付")
    private Integer isPayed;

    /**
     * 支付状态
     */
    @TableField(value = "status")
    @Schema(description = "红包状态1过期0正常")
    private Integer status;

    /**
     * 商品ID
     */
    @TableField(value = "prod_id")
    @Schema(description = "商品ID")
    private Long prodId;
}
